package com.wjm.mappackage;

import java.util.HashMap;

/**
 * Data:2022年07月07日
 * Author:wjm
 * Content: HasgMap的线程安全介绍
 *
 *
 *  HashMap(类):是非线程安全的，可以存储为null的键值对，也可以存储key为null的实体
 *  HashTable(类):是线程安全的，不可以存储健或值的为null
 *  synchronizedMap(Collections类中的方法): 将map集合转换为线程安全的映射 ，线程安全的映射是可以存放key=null，value=null的值
 *  concurrentHashMap(类): 是线程安全的，不可以将key和value存储为 null，但是因为线程在不同分段是不需要进度等待，所以效率极高
 *
 */
public class MapSyncronizedDemo {
    public static void main(String[] args) {
        //创建非线程安全的集合：HashMap
        HashMap hashMap = new HashMap();

        //存储vaule为空的键值对
        hashMap.put(1,null);
        //存储null，null
        hashMap.put(null,null);
        //存储key为空的键值对
        hashMap.put(null,"wjm");
        System.out.println(hashMap.size());
        System.out.println(hashMap);
    }
}
